﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;


/// <summary>
/// Summary description for CategoriaCaracteristicas
/// </summary>
public class CategoriaCaracteristicas
{

    private string nombreCategoria;

	public CategoriaCaracteristicas()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    public CategoriaCaracteristicas(string nombreCategoria) { this.nombreCategoria = nombreCategoria; }

    public string ObtNombreCategoria() { return nombreCategoria; }

    public void AsigNombreCategoria(string nombreCategoria) { this.nombreCategoria = nombreCategoria; }

    public List<CategoriaCaracteristicas> ObtCategoriasDeCaracteristicas()
    {
        BD bd = new BD();
        bd.AbrirConexion();
        DataTable dt = bd.Consultar("select * from CategoriaCaracteristicas");
        bd.CerrarConexion();

        List<CategoriaCaracteristicas> listcat = new List<CategoriaCaracteristicas>();
        int cont = 0;
        foreach (DataRow dr in dt.Rows)
        {
            CategoriaCaracteristicas cat = new CategoriaCaracteristicas(dt.Rows[cont]["nombreCategoria"].ToString());
            cont++;
            listcat.Add(cat);
        }
        return listcat;
    }

    public string ActualizarCategoria(string nuevoNombre)
    {
        if (ExisteCategoria())
        {
            BD bd = new BD();
            bd.AbrirConexion();
            string campoValor="nombreCategoria="+"'"+nuevoNombre+"'";
            string condicion="nombreCategoria="+"'"+nombreCategoria+"'";
            string actualizar = bd.Actualizar("CategoriaCaracteristicas", campoValor, condicion);
            bd.CerrarConexion();
            return actualizar;
        }
        return "No existe la categoria.";
    }

    public string EliminarCategoria()
    {
        if (ExisteCategoria())
        {
            BD bd = new BD();
            bd.AbrirConexion();
            string condicion="nombreCategoria="+"'"+nombreCategoria+"'";
            string eliminar = bd.Eliminar("CategoriaCaracteristicas", condicion);
            bd.CerrarConexion();
            return eliminar;
        }
        return "No existe la categoria.";
    }

    public string GuardarCategoria() 
    {
        if(!ExisteCategoria())
        {
            BD bd = new BD();
            string campos= "(nombreCategoria)";
            string valores="('"+nombreCategoria+"')";
            bd.AbrirConexion();
            string insert = bd.Insertar("CategoriaCaracteristicas", campos, valores);
            bd.CerrarConexion();
            return insert;
        }
        return "ya existe la categoria";
    }

    public bool ExisteCategoria() 
    {
        if (nombreCategoria != "")
        {
            BD bd = new BD();
            bd.AbrirConexion();
            string consulta="select nombreCategoria from CategoriaCaracteristicas where nombreCategoria="+"'"+nombreCategoria+"'";
            DataTable dt = bd.Consultar(consulta);
            bd.CerrarConexion();
            if (dt.Rows.Count != 0)
                return true;
        }
        return false;
    }
}
